데이터 모델이란?

현실세계의 정보를 컴퓨터 시스템에서 효과적으로 저장, 관리, 활용할 수 있도록 데이터의 구조와 관계, 제약 조건 등을 체계적으로 표현한 것!

개념적 모델링

  • 개체와 개체들 간의 관계에서 ERD을 만드는 과정

ERD 만들 때 사용하면 좋은 방법

ChatGPT 혹은 claude를 이용해서 erd를 설계한다면 빠른 설계가 가능하다

내가 <서비스 내용>을 만들려고 하는데 여기서 <table name> 테이블을 만들려고 해. 여기서 <Datas> 이런 데이터들이 필요한데 이걸 mermaid로 만들어줘.

mermaid라고 해서 어떤 데이터를 시각화 해주는 확장자가 존재한다. 이렇게 AI한테 부탁한 다음 받은 데이터를 notion code창에 언어를 mermaid를 선택해서 붙여 넣기 하면 다음과 같은 화면을 받을 수 있으며 Ai를 이용한 백엔드 개발 상황에서도 mermaid로 작성된 코드를 바로 넣을 수 있어서 빠른 개발이 가능하다!

실제 결과

erDiagram

    USER {
        bigint user_id PK
        string name
        string rank
        string serial_number
        string role
        bigint unit_id FK
    }

    UNIT {
        bigint unit_id PK
        string unit_name
        bigint parent_unit_id FK
    }

    ATTENDANCE {
        bigint attendance_id PK
        bigint user_id FK
        date date
        string status
        datetime check_in_time
        datetime check_out_time
        string note
    }

    SCHEDULE {
        bigint schedule_id PK
        string title
        string type
        datetime start_time
        datetime end_time
        bigint unit_id FK
    }

    ATTENDANCE_LOG {
        bigint log_id PK
        bigint attendance_id FK
        bigint changed_by FK
        string old_status
        string new_status
        datetime changed_at
    }

    %% Relationships
    USER }o--|| UNIT : belongs_to
    UNIT ||--o{ UNIT : parent_child
    ATTENDANCE }o--|| USER : records
    SCHEDULE }o--|| UNIT : assigned_to
    ATTENDANCE_LOG }o--|| ATTENDANCE : tracks
    ATTENDANCE_LOG }o--|| USER : changed_by